Edsger W. Dijkstra

In the IBM/360, which appeared a year later, such queueing was done by “command chaining”: in the chain of queued commands, the last one carried an end marker, and attaching a new command was done by overwriting that end marker by a pointer to the command to be attached. But the design contained two serious flaws. If at the moment of attachment the channel was still active, the new command would be executed in due time, otherwise the channel had to be reactivated. To establish whether this obligation was present, the instruction code contained test instructions testing whether channels were active or not, but the trouble with such a test … Continue reading Edsger W. Dijkstra